In Multi-Protocol Label Switching (MPLS) networks, data transmission occurs on Label-Switched Paths (LSPs). LSPs are a sequence of labels at each and every node along the path from the source to the destination. LSPs are established either prior to data transmission (control-driven) or upon detection of a certain flow of data (data-driven). The labels may be set up through the network by a signaling protocol such as the Label Distribution Protocol (LDP) and the Resource Reservation Protocol-Traffic Engineering (RSVP-TE). Each data packet encapsulates and carries the labels during the packet's journey from source to destination. The paths are set up based on criteria in the Forwarding Equivalence Class (FEC). High-speed switching of data is possible because the fixed-length labels are inserted at the beginning of the packet or cell and can be used by hardware to switch packets quickly between links.
The path begins at a Label Edge Router (LER), which makes a decision on which label to prefix to a packet based on the appropriate FEC. It then forwards the packet to the next router in the path. When a labeled packet is received by an MPLS router, the topmost label is examined. Based on the contents of the label a swap, push (impose), or pop (dispose) operation can be performed on the packet's label stack. Routers can have prebuilt lookup tables that tell them which kind of operation to do based on the topmost label of the incoming packet so they can process the packet very quickly. The last router in the path pops the label from the packet and forwards the packet based on the header of its next layer, for example IPv4. Since the forwarding of packets through an LSP is opaque to higher network layers, an LSP is also sometimes referred to as an MPLS tunnel.
The router which first prefixes the MPLS header to a packet is called an ingress router. The last router in an LSP, which pops the label from the packet, is called an egress router. Routers in between, which need only swap labels, are called transit routers or Label Switching Routers (LSRs). Note that LSPs are unidirectional; they enable a packet to be label switched through the MPLS network from one endpoint to another. Since bidirectional communication is typically desired, the aforementioned dynamic signaling protocols can set up an LSP in the opposite direction to compensate for this.
In deployed MPLS networks, the need for effective recovery mechanisms (for example the MPLS Fast Reroute mechanism) drives the setup of Traffic Engineering Label Switched Paths (TE LSPs) not only for high-class and bandwidth-guaranteed traffic, but also for low-class traffic. Thus, in addition to bandwidth-guaranteed TE LSPs, a typical deployment scenario requires the path computation and provisioning of a full mesh of unconstrained TE LSPs signaled with zero bandwidth (typically referred to as “0-bw TE LSPs”) between every LSR of the Routing Area. A 0-bw TE LSP means that the bandwidth reserved for the LSP is zero; the actual traffic load is unknown and may vary dynamically. A more complete description of 0-bw TE LSPs can be gained from J. P. Vasseur, et al., “A Link-Type sub-TLV to Convey the Number of Traffic Engineering Label Switched Paths Signalled with Zero Reserved Bandwidth across a Link”, RFC 5330, October 2008, and from U.S. Patent Publication number 2006/0182035 A1.
Since no bandwidth reservation is required for 0-bw TE LSPs, the shortest path computation is performed taking into account just the TE metric (for example, hop count) and without considering bandwidth constraints. Particularly when rerouting 0-bw TE LSPs in symmetrical network topologies with equal cost multi-paths, poor load-balancing of the traffic may result. This, in turn, may cause network congestion and less effective recovery performance.
To solve the problem of global load balancing of 0-bw TE LSPs, RFC 5330 introduced an Open Shortest Path First (OSPF) routing protocol extension called “Unconstrained TE LSP Count TLV” (referred to herein as “UC”) with Routing Area flooding scope. UC advertises the number of 0-bw TE LSPs signaled across each link, and enables a tie-breaker policy to be identified between multiple equal cost paths. However, there are also disadvantages to the UC-based solution. First, the required UC advertisement increases the control plane load and may negatively affect network stability, scalability, and convergence time. Second, UC does not guarantee actual load balancing since UC assumes that the traffic carried by all the 0-bw TE LSPs statistically occupies the same amount of bandwidth.